<?php // session的主要作者是跨脚本共享数据
// session 是以cookie为基础的  类似银行卡 cookie类似会员卡
// 将重要数据保存在服务器 同时能够唯一表示这份数据的数据以cookie形式保存在客户端

// 过程 服务器先创建一个session文件 然后返回这个文件名作为cookie给客户端
session_start();
echo '<pre>';
print_r($_SESSION);

// 向session中  也就是$_SESSION数组中添加元素
$_SESSION['balance'] = 100000;

// session文件名
echo '<br>',session_id(),'<br>';

// session里面可以写入任何类型的数据  但是下标必须是字符
$userinfo = ['id'=>10,'u_name'=>'admin','u_pwd'=>'dssadsad'];
$_SESSION['userinfo'] = $userinfo;
echo '<pre>';
print_r($_SESSION);

// unset($_SESSION[下标])
unset($_SESSION['balance']);
echo '<pre>';
print_r($_SESSION);

// 设置$_SESSION的cookie属性
// setcookie(name,value,expire,path,domain,secure,httponly);

// 删除session文件的全部内容
session_destroy();


// $_SESSION与session文件的关系
// 1. 首次访问 创建session文件 并把文件名以cookie的形式返回给浏览器
// 2. 以后     浏览器上传的cookie与session文件名匹配  将文件内容传给$_SESSION; 
//             脚本执行完后 会将$_SESSION的内容写会session文件中

// session可以不以文件形式存在 而是放入数据库 

// 关于session的很多操作都可以在php.ini里面设置
// 比如 session文件的储存地址  当项目很大时 会产生非常多的session 为了能够加快session文件的查找速度
// 可以采用分目录存储文件 在总目录下 创建 0~9 a~z 即session文件名的第一个字母 能缩短查找时间
// 
// 
?>